var http = require('http')
var fs = require('fs')
// 导入新的URL模块
var { URL } = require('url')
var template = require('art-template')
var comments = [
  {
    name: '张三',
    message: '今天天气不错！',
    dateTime: '2021-4-16 18:30 2s'
  }
]
http
  .createServer(function (req, res) {

    // new URL(路径url, 你的服务器的地址)
    //请求的路径
    var parseObj = new URL(req.url, 'http://localhost:3000')
    //请求路径的地址
    var pathname = parseObj.pathname


    if (pathname === '/') {
      fs.readFile('./views/index.html', function (err, data) {
        if (err) {
          return res.end('404 Not Found')
        }
        //使用art-template模板，将html里的内容替换成这里的字符串
        htmlStr = template.render(data.toString(), { comments: comments })
        res.end(htmlStr)
      })
    }
    else if (pathname.indexOf('/public/') === 0) {
      fs.readFile('.' + pathname, function (err, data) {
        if (err) {
          return res.end('404 Not Found')
        }
        res.end(data)
      })
    }
    else if (pathname.indexOf('/ping_lun') === 0) {
      //定义一个空对象
      var comment = {}
      //获得url里获取的内容带?号
      var str = parseObj.search
      //获得url里获取的内容除?以外的内容
      str = str.substr(1)
      //相当于fro循环，截两次将对象里的内容赋值
      str.split('&').map(item => {
        var arr = item.split('=')
        comment[decodeURI(arr[0])] = decodeURI(arr[1])
      })
      var date = new Date()
      //将对象里的内容赋值
      comment.dateTime = date.getFullYear() + '-' + String(date.getMonth() + 1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ' ' + date.getSeconds() + 's'
      //在数组前插入一个对象
      comments.unshift(comment)
      console.log(comments)
      // res.end()
      fs.readFile('./views/index.html', function (err, data) {
        if (err) {
          return res.end('404 Not Found')
        }
        //使用art-template模板，将html里的内容替换成这里的新字符串
        template.render(data.toString(), { comments: comments })
        //临时重对象
        res.statusCode = 302
        //跳转到首页
        res.setHeader('Location', '/')
        res.end()
      })
    }
    else {
      fs.readFile('./views/404.html', function (err, data) {
        if (err) {
          return res.end('404 Not Found')
        }
        res.end(data)
      })
    }
  })
  .listen(3000, function () {
    console.log('服务器已经启动')
  })